// Automatically scan for routes auto_routes.rs

use crate::apps::admin::controller::menu_controller;
use crate::apps::admin::controller::user_controller;
use crate::apps::admin::controller::role_dept_controller;
use crate::apps::admin::controller::dicts_data_controller;
use crate::apps::admin::controller::post_controller;
use crate::apps::admin::controller::redis_controller;
use crate::apps::admin::controller::logs_controller;
use crate::apps::admin::controller::role_controller;
use crate::apps::admin::controller::user_role_controller;
use crate::apps::admin::controller::index_controller;
use crate::apps::admin::controller::dicts_type_controller;
use crate::apps::admin::controller::upload_controller;
use crate::apps::admin::controller::user_post_controller;
use crate::apps::admin::controller::tenant_controller;
use crate::apps::admin::controller::role_menu_controller;
use crate::apps::admin::controller::remote_controller;
use crate::apps::admin::controller::dept_controller;

pub fn apps_auto_routes() -> Vec<rocket::Route> {
    use rocket_okapi::openapi_get_routes;

    openapi_get_routes![
        // menu_controller
        menu_controller::list,
        menu_controller::detail,
        menu_controller::save,
        menu_controller::update,
        menu_controller::delete,

        // user_controller
        user_controller::list,
        user_controller::detail,
        user_controller::save,
        user_controller::update,
        user_controller::delete,

        // role_dept_controller
        role_dept_controller::list,
        role_dept_controller::detail,
        role_dept_controller::save,
        role_dept_controller::update,
        role_dept_controller::delete,

        // dicts_data_controller
        dicts_data_controller::list,
        dicts_data_controller::detail,
        dicts_data_controller::save,
        dicts_data_controller::update,
        dicts_data_controller::delete,

        // post_controller
        post_controller::list,
        post_controller::detail,
        post_controller::save,
        post_controller::update,
        post_controller::delete,

        // redis_controller
        redis_controller::save,
        redis_controller::update,
        redis_controller::delete,
        redis_controller::find,

        // logs_controller
        logs_controller::list,
        logs_controller::detail,
        logs_controller::save,
        logs_controller::update,
        logs_controller::delete,

        // role_controller
        role_controller::list,
        role_controller::detail,
        role_controller::save,
        role_controller::update,
        role_controller::delete,

        // user_role_controller
        user_role_controller::list,
        user_role_controller::detail,
        user_role_controller::save,
        user_role_controller::update,
        user_role_controller::delete,

        // index_controller
        index_controller::index_index,
        index_controller::index_banner,

        // dicts_type_controller
        dicts_type_controller::list,
        dicts_type_controller::detail,
        dicts_type_controller::save,
        dicts_type_controller::update,
        dicts_type_controller::delete,

        // upload_controller
        upload_controller::upload,

        // user_post_controller
        user_post_controller::list,
        user_post_controller::detail,
        user_post_controller::save,
        user_post_controller::update,
        user_post_controller::delete,

        // tenant_controller
        tenant_controller::list,
        tenant_controller::detail,
        tenant_controller::save,
        tenant_controller::update,
        tenant_controller::delete,

        // role_menu_controller
        role_menu_controller::list,
        role_menu_controller::detail,
        role_menu_controller::save,
        role_menu_controller::update,
        role_menu_controller::delete,

        // remote_controller
        remote_controller::health,

        // dept_controller
        dept_controller::list,
        dept_controller::detail,
        dept_controller::save,
        dept_controller::update,
        dept_controller::delete,

    ]
}
